import dayjs from 'dayjs'
import 'dayjs/locale/zh-cn'

// 设置为中文
dayjs.locale('zh-cn')

/**
 * 格式化日期
 * @param {String|Date} date - 日期
 * @param {String} format - 格式
 * @returns {String}
 */
export function formatDate(date, format = 'YYYY-MM-DD') {
  return dayjs(date).format(format)
}

/**
 * 格式化时间
 * @param {String|Date} date - 日期
 * @param {String} format - 格式
 * @returns {String}
 */
export function formatTime(date, format = 'YYYY-MM-DD HH:mm:ss') {
  return dayjs(date).format(format)
}

/**
 * 格式化秒数为 MM:SS 格式
 * @param {Number} seconds - 秒数
 * @returns {String} 格式化后的时间字符串 (MM:SS)
 */
export function formatDuration(seconds) {
  const mins = Math.floor(seconds / 60).toString().padStart(2, '0');
  const secs = (seconds % 60).toString().padStart(2, '0');
  return `${mins}:${secs}`;
}

/**
 * 获取相对时间
 * @param {String|Date} date - 日期
 * @returns {String}
 */
export function formatRelativeTime(date) {
  const now = dayjs()
  const target = dayjs(date)
  const diff = now.diff(target, 'minute')
  
  if (diff < 1) {
    return '刚刚'
  } else if (diff < 60) {
    return `${diff}分钟前`
  } else if (diff < 60 * 24) {
    return `${Math.floor(diff / 60)}小时前`
  } else if (diff < 60 * 24 * 30) {
    return `${Math.floor(diff / (60 * 24))}天前`
  } else {
    return formatDate(date)
  }
} 